package com.jcn.seckill.service;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.jcn.seckill.dao.UserDao;
import com.jcn.seckill.domain.User;

//将自动注册到Spring容器，不需要再在applicationContext.xml文件定义bean了
@Service
public class UserService {
	
	//对类成员变量、方法及构造函数进行标注，完成自动装配的工作
	//@Autowired标注可以放在成员变量上，也可以放在成员变量的set方法上，也可以放在任意方法上表示
	@Autowired
	//注入接口
	UserDao userDao;
	
	public User getById(int id) {
		 return userDao.getById(id);
	}

	//事务管理
	//@Transactional 注解只能应用到 public 方法才有效
	//加入 @Transactional 注解，使用默认配置，抛出异常之后，事务会自动回滚，数据不会插入到数据库。
	@Transactional
	public boolean tx() {
		User u1= new User();
		u1.setId(2);
		u1.setName("2222");
		userDao.insert(u1);
		
		User u2= new User();
		u2.setId(1);
		u2.setName("11111");
		userDao.insert(u2);
		
		return true;
	}
	
}
